One of the greatest infrastructure challenges in organizations today is the reliance on database systems created and maintained over a period of time much longer than their anticipated lifespan. Many of these systems were created with numerous limitations and restrictions due to technological restraints of the time period. Over time, technology has rapidly improved and many of these systems have become outdated and inefficient. As a result, many organizations are looking for a viable approach to modernize their legacy database systems.
Past attempts at legacy database modernization have generally included direct software updates and/or data conversions. A first approach to legacy database modernization involves creating a new data store and uploading an entire legacy database into the new store in a single modernization attempt. One problem with this approach is that undetected flaws in the modernization software may result in unacceptable amounts of lost and/or destroyed data.
Another approach to legacy database modernization involves performing a record by record conversion of legacy source data into a new data store format. Although the occurrence of lost and/or destroyed data may be reduced, this approach may be both time-consuming and cost-prohibitive. Furthermore, the ability to successfully modernize parent-child data records with today's data modernization systems is limited.
Current modernization systems simply migrate parent and child data records separately from a legacy database to a modern database without any constraint or link connecting them in the modern database. This may result in the obsolescence or destruction of a substantial amount of data critical to an individual. For example, a modernization system may migrate a person's parent record separate from a child health record. If the link is lost during modernization, then critical data is lost, thus diminishing the database's effectiveness. Thus, a user of current data modernization system may not be able to completely rely on the integrity of the modern database produced by such a system.
Additionally, previous approaches may have required referential integrity constraints between parent and child data records to be implemented manually and explicitly via a database specific language. Furthermore, previous approaches have not allowed for partial modernization of subsets of legacy data records that maintain some degree of referential integrity between parent and child legacy data records. In other words, previous approaches may have required that a modernization be an “all or nothing” endeavor, and would fail completely if a single parent-child data record was not able to be implemented in the modern database system.